package com.lan.app.service;


import com.lan.app.repository.User;
import com.lan.support.page.Page;
import com.lan.support.page.PageHelper;
import org.springframework.transaction.annotation.Transactional;


public interface IUserService {

    Page<User> page(PageHelper helper, User user);

    User getById(Integer id);

    /**
     * 验证用户名是否存在
     *
     * @param userName
     * @return
     */
    User validateUserName(String userName);

    void modifyPwd(Integer id, String pwd);


    /**
     * 注册
     * 创建时间
     * 更新时间 由调用此方法传参数
     *
     * @param user
     * @return
     */
    @Transactional
    User register(User user);

    /**
     * 登陆
     *
     * @param user
     * @return
     */
    User login(User user);

    User resetPwd(Integer id, String nPwd);

    @Transactional
    Integer save(User user);

    void del(Integer userId);

    void modify(User user);

    void modifyPwd(Integer id, String oldPwd, String newPwd);
}